home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / Basic / Visual Basic.60 / COMMON / TOOLS / VCM / VCM.MDB / VcmComponentContainer / 14_Cabinet / CTRLEXT.H < prev    next >
Encoding:
C/C++ Source or Header  |  1998-05-18  |  5.7 KB  |  205 lines

  1. // ctrlext.h : header file
  2. //
  3. // This is a part of the Microsoft Foundation Classes and
  4. // Templates (MFC&T).
  5. // Copyright (C) 1998 Microsoft Corporation
  6. // All rights reserved.
  7. //
  8. // This source code is only intended as a supplement to the
  9. // MFC&T Reference and related electronic documentation provided
  10. // with the library.  See these sources for detailed information
  11. // regarding the MFC&T product.
  12. //
  13.  
  14. #ifndef __CTRLEXT_H__
  15. #define __CTRLEXT_H__
  16.  
  17. /////////////////////////////////////////////////////////////////////////////
  18. // Forward Declarations
  19.  
  20. class CTreeCtrlEx;
  21. class CListCtrlEx;
  22. class CTreeCursor;
  23.  
  24.  
  25. /////////////////////////////////////////////////////////////////////////////
  26. // CTreeCursor
  27.  
  28. class CTreeCursor
  29. {
  30.     // Attributes
  31. protected:
  32.     HTREEITEM   m_hTreeItem;
  33.     CTreeCtrlEx *m_pTree;
  34.  
  35.     // Implementation
  36. protected:
  37.     CTreeCursor CTreeCursor::_Insert(LPCTSTR strItem, int nImageIndex,
  38.                     HTREEITEM hAfter);
  39.  
  40.     // Operations
  41. public:
  42.     CTreeCursor();
  43.     CTreeCursor(HTREEITEM hTreeItem, CTreeCtrlEx* pTree);
  44.     CTreeCursor(const CTreeCursor& posSrc);
  45.     ~CTreeCursor();
  46.     const CTreeCursor& operator =(const CTreeCursor& posSrc);
  47.     operator HTREEITEM();
  48.  
  49.     CTreeCursor InsertAfter(LPCTSTR strItem, HTREEITEM hAfter,
  50.                     int nImageIndex = -1);
  51.     CTreeCursor AddHead(LPCTSTR strItem, int nImageIndex = -1);
  52.     CTreeCursor AddTail(LPCTSTR strItem, int nImageIndex = -1);
  53.  
  54.     int GetImageID();
  55.  
  56.     BOOL GetRect(LPRECT lpRect, BOOL bTextOnly);
  57.     CTreeCursor GetNext(UINT nCode);
  58.     CTreeCursor GetChild();
  59.     CTreeCursor GetNextSibling();
  60.     CTreeCursor GetPrevSibling();
  61.     CTreeCursor GetParent();
  62.     CTreeCursor GetFirstVisible();
  63.     CTreeCursor GetNextVisible();
  64.     CTreeCursor GetPrevVisible();
  65.     CTreeCursor GetSelected();
  66.     CTreeCursor GetDropHilight();
  67.     CTreeCursor GetRoot();
  68.     CString GetText();
  69.     BOOL GetImage(int& nImage, int& nSelectedImage);
  70.     UINT GetState(UINT nStateMask);
  71.     DWORD GetData();
  72.     BOOL Set(UINT nMask, LPCTSTR lpszItem, int nImage,
  73.         int nSelectedImage, UINT nState, UINT nStateMask, LPARAM lParam);
  74.     BOOL SetText(LPCTSTR lpszItem);
  75.     BOOL SetImage(int nImage, int nSelectedImage);
  76.     BOOL SetState(UINT nState, UINT nStateMask);
  77.     BOOL SetData(DWORD dwData);
  78.     BOOL HasChildren();
  79. // Operations
  80.     BOOL Delete();
  81.  
  82.     BOOL Expand(UINT nCode = TVE_EXPAND);
  83.     CTreeCursor Select(UINT nCode);
  84.     CTreeCursor Select();
  85.     CTreeCursor SelectDropTarget();
  86.     CTreeCursor SelectSetFirstVisible();
  87.     CEdit* EditLabel();
  88.     CImageList* CreateDragImage();
  89.     BOOL SortChildren();
  90.     BOOL EnsureVisible();
  91. };
  92.  
  93.  
  94. /////////////////////////////////////////////////////////////////////////////
  95. // CListCtrlEx window
  96.  
  97. class CListCtrlEx : public CListCtrl
  98. {
  99. // Construction
  100. public:
  101.     CListCtrlEx();
  102.  
  103. // Attributes
  104. public:
  105.  
  106. // Operations
  107. public:
  108.     CImageList* SetImageList(CImageList* pImageList,
  109.                     int nImageListType = TVSIL_NORMAL);
  110.     BOOL AddColumn(
  111.         LPCTSTR strItem, int nItem, int nSubItem = -1,
  112.         int nMask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM,
  113.         int nFmt = LVCFMT_LEFT);
  114.     BOOL AddItem(int nItem, int nSubItem, LPCTSTR strItem, int nImageIndex = -1);
  115.  
  116. // Overrides
  117.     // ClassWizard generated virtual function overrides
  118.     //{{AFX_VIRTUAL(CListCtrlEx)
  119.     //}}AFX_VIRTUAL
  120.  
  121. // Implementation
  122. public:
  123.     virtual ~CListCtrlEx();
  124.  
  125.     // Generated message map functions
  126. protected:
  127.     //{{AFX_MSG(CListCtrlEx)
  128.     //}}AFX_MSG
  129.  
  130.     DECLARE_MESSAGE_MAP()
  131. };
  132.  
  133. /////////////////////////////////////////////////////////////////////////////
  134.  
  135.  
  136. /////////////////////////////////////////////////////////////////////////////
  137. // CTreeCtrlEx window
  138.  
  139. class CTreeCtrlEx : public CTreeCtrl
  140. {
  141. // Construction
  142. public:
  143.     CTreeCtrlEx();
  144.  
  145. // Attributes
  146. public:
  147.  
  148. // Operations
  149. public:
  150.     CImageList* SetImageList(CImageList* pImageList, int nImageListType = TVSIL_NORMAL);
  151.  
  152.     CTreeCursor GetNextItem(HTREEITEM hItem, UINT nCode);
  153.     CTreeCursor GetChildItem(HTREEITEM hItem);
  154.     CTreeCursor GetNextSiblingItem(HTREEITEM hItem);
  155.     CTreeCursor GetPrevSiblingItem(HTREEITEM hItem);
  156.     CTreeCursor GetParentItem(HTREEITEM hItem);
  157.     CTreeCursor GetFirstVisibleItem();
  158.     CTreeCursor GetNextVisibleItem(HTREEITEM hItem);
  159.     CTreeCursor GetPrevVisibleItem(HTREEITEM hItem);
  160.     CTreeCursor GetSelectedItem();
  161.     CTreeCursor GetDropHilightItem();
  162.     CTreeCursor GetRootItem();
  163.     CTreeCursor InsertItem(LPTV_INSERTSTRUCT lpInsertStruct);
  164.     CTreeCursor InsertItem(UINT nMask, LPCTSTR lpszItem, int nImage,
  165.         int nSelectedImage, UINT nState, UINT nStateMask, LPARAM lParam,
  166.         HTREEITEM hParent, HTREEITEM hInsertAfter);
  167.     CTreeCursor InsertItem(LPCTSTR lpszItem, HTREEITEM hParent = TVI_ROOT,
  168.         HTREEITEM hInsertAfter = TVI_LAST);
  169.     CTreeCursor InsertItem(LPCTSTR lpszItem, int nImage, int nSelectedImage,
  170.         HTREEITEM hParent = TVI_ROOT, HTREEITEM hInsertAfter = TVI_LAST);
  171.     CTreeCursor Select(HTREEITEM hItem, UINT nCode);
  172.     CTreeCursor SelectItem(HTREEITEM hItem);
  173.     CTreeCursor SelectDropTarget(HTREEITEM hItem);
  174.     CTreeCursor SelectSetFirstVisible(HTREEITEM hItem);
  175.     CTreeCursor HitTest(CPoint pt, UINT* pFlags = NULL);
  176.     CTreeCursor HitTest(TV_HITTESTINFO* pHitTestInfo);
  177.  
  178. // Overrides
  179.     // ClassWizard generated virtual function overrides
  180.     //{{AFX_VIRTUAL(CTreeCtrlEx)
  181.     //}}AFX_VIRTUAL
  182.  
  183. // Implementation
  184. public:
  185.     virtual ~CTreeCtrlEx();
  186.  
  187.     // Generated message map functions
  188. protected:
  189.     //{{AFX_MSG(CTreeCtrlEx)
  190.         // NOTE - the ClassWizard will add and remove member functions here.
  191.     //}}AFX_MSG
  192.  
  193.     DECLARE_MESSAGE_MAP()
  194. };
  195.  
  196. /////////////////////////////////////////////////////////////////////////////
  197.  
  198. #include "CtrlExt.inl"
  199.  
  200. /////////////////////////////////////////////////////////////////////////////
  201.  
  202. #endif // __CTRLEXT_H__
  203.  
  204. /////////////////////////////////////////////////////////////////////////////
  205.